package mall

// 规格值
type SpecValue struct {
	SpecValueId int     `json:"specValueId"`
	SpecValue   string  `json:"specValue"`
	Image       *string `json:"image"`
	CheckState  int     `json:"checkState"`
}

// 规格
type Spec struct {
	SpecId        int         `json:"specId"`
	SpecName      string      `json:"specName"`
	SpecValueList []SpecValue `json:"specValueList"`
}

// 默认产品信息
type DefaultProduct struct {
	ProductId       int      `json:"productId"`
	GoodsName       string   `json:"goodsName"`
	GetSpecValueIds string   `json:"getSpecValueIds"`
	GetSpecValues   string   `json:"getSpecValues"`
	ProductPrice    float64  `json:"productPrice"`
	MarketPrice     float64  `json:"marketPrice"`
	SuperPrice      *float64 `json:"superPrice"`
	SaveAmount      *float64 `json:"saveAmount"`
	ProductStock    int      `json:"productStock"`
	ActualSales     int      `json:"actualSales"`
	GoodsPics       []string `json:"goodsPics"`
	PromotionType   *string  `json:"promotionType"`
	PromotionId     *string  `json:"promotionId"`
}

// 数据部分
type GoodsInfo struct {
	ShareImage     string         `json:"shareImage"`
	ShareLink      string         `json:"shareLink"`
	Specs          []Spec         `json:"specs"`
	DefaultProduct DefaultProduct `json:"defaultProduct"`
}

type StoreInfo struct {
	StoreID            int     `json:"storeId"`
	StoreName          string  `json:"storeName"`
	StoreLogo          string  `json:"storeLogo"`
	StoreLogoUrl       string  `json:"storeLogoUrl"`
	StoreGradeName     string  `json:"storeGradeName"`
	DescriptionScore   string  `json:"descriptionScore"`
	ServiceScore       string  `json:"serviceScore"`
	DeliverScore       string  `json:"deliverScore"`
	StoreBannerPc      string  `json:"storeBannerPc"`
	VendorName         string  `json:"vendorName"`
	LatestLoginTime    string  `json:"latestLoginTime"`
	IsOwnStore         int     `json:"isOwnStore"`
	IsOwnStoreValue    string  `json:"isOwnStoreValue"`
	RolesName          string  `json:"rolesName"`
	ComprehensiveScore string  `json:"comprehensiveScore"`
	AdminLogoUrl       string  `json:"adminLogoUrl"`
	StoreExpireTime    string  `json:"storeExpireTime"`
	ShopType           int     `json:"shopType"`
	Qrcode             *string `json:"qrcode,omitempty"`
}

type ProductOpenDTO struct {
	ProductId      int64  `json:"productId"`
	ThirdProductId string `json:"thirdProductId"`
	ProductName    string `json:"productName"`
	ProductPrice   string `json:"productPrice"`
	ProductStock   int    `json:"productStock"`
	State          int    `json:"state"` // 1 上架 2 下架
}

// CreateProductRequest 创建商品
type CreateProductRequest struct {
	GoodsId     int64            `json:"goodsId"`
	ProductList []ProductOpenDTO `json:"productList"`
}

type CreateProductResponse struct {
	GoodsId     int64            `json:"goodsId"`
	ProductList []ProductOpenDTO `json:"productList"`
}

// CreateGoodsRequest 创建商品
type CreateGoodsRequest struct {
	GoodsId      int64    `json:"goodsId"`
	ThirdGoodsId int64    `json:"thirdGoodsId"`
	GoodsName    string   `json:"goodsName"`
	ImageUrlList []string `json:"imageUrlList"`
	GoodsDetails string   `json:"goodsDetails"`
	GoodsPrice   string   `json:"goodsPrice"`
	GoodsStock   int      `json:"goodsStock"`
	GoodsState   int      `json:"goodsState"` //1-上架；2-下架 默认下架=专栏不可售
}

type CreateGoodsResponse struct {
	GoodsId          int64 `json:"goodsId"`
	DefaultProductId int64 `json:"defaultProductId"`
}

type GoodsData struct {
	GoodsId      string           `json:"goodsId"`
	ThirdGoodsId int64            `json:"thirdGoodsId"`
	GoodsName    string           `json:"goodsName"`
	ImageUrlList []string         `json:"imageUrlList"`
	GoodsDetails string           `json:"goodsDetails"`
	GoodsPrice   string           `json:"goodsPrice"`
	GoodsStock   int              `json:"goodsStock"`
	GoodsState   int              `json:"goodsState"` //1-上架；2-下架 默认下架=专栏不可售
	ProductList  []ProductOpenDTO `json:"productList"`
}
